package algo.A03_递归和算法复杂度;

/**
 * 求n的阶乘→求n-1的阶乘
 * 找重复：n*(n-1)的阶乘，求(n-1)的阶乘是原问题的重复(规模更小)
 * 找变化：变化的量应该作为参数
 * 找边界：出口
 */
public class T01_求n的阶乘 {
    public static void main(String[] args) {
        int result = solution(5);
        System.out.println("result = " + result);
    }

    private static int solution(int n){
        if(n == 1){
            return 1;
        }
        return n * solution(n - 1);
    }
}
